Voice portals are frequently used to answer calls and obtain information from callers. For example, businesses often use voice portals that include interactive voice response (IVR) units to interact with callers and to obtain information from the callers. The IVR systems also are used by businesses to make outgoing calls to customers and/or potential customers. For large businesses, inbound and outbound call traffic can be quite high, and IVR systems for such high traffic volumes operate to handle calls through a large number of ports or line connections.
Conventional IVR systems handle both inbound and outbound communications via a limited number of virtual ports. However, where virtual ports may selectively be used for either inbound or outbound communications, and are switched between these two modes of communication, there is a risk of a call collision, commonly referred to as a “glare” condition. A call collision may a result due to contention that occurs when a terminal seeks to initiate an outbound call on a virtual port and a data circuit-terminating equipment (DCE) seeks to use the same virtual port to handle an incoming call. One possible effect is that when a call collision occurs, the DCE proceeds with the incoming call request and cancels the outbound call.
There are three conventional approaches to “multi-line hunting,” in which incoming calls are assigned to ports: (1) circular hunting, which distributes incoming calls to ports in a “round robin” manner (e.g., if three ports are available, incoming calls would be assigned in the order of 1, 2, 3, 1, 2, 3, . . . , with skipping of busy ports); (2) low to high hunting, which distributes an incoming call to the lowest-numbered available port; and (3) most idle hunting, which distributes an incoming call to the port that has been idle the longest. A conventional approach for IVR systems including virtual ports capable of switching between inbound and outbound communications is a variation on the above low to high hunting, in which incoming calls are assigned to the lowest-numbered available port and outbound calls are placed on the highest-numbered available port, which generally avoids glare as the last choice for incoming calls is first choice for outgoing calls. In some cases, the lowest-numbered port s will be dedicated exclusively for handling inbound communications.
However this approach has a disadvantage in that if there is a problem with a low-numbered port, it will affect customer attempts at making inbound calls. Another disadvantage is seen when trouble shooting problems. Since low port numbers may never be used for outbound communications, this may mask issues with initiating outbound communications from low-numbered ports. Likewise, issues with receiving inbound communications on high-numbered ports may also be masked and difficult to investigate. A further disadvantage is that the ports are not loaded evenly (e.g., the lowest-numbered ports often receive the greatest load). Also, as an IVR system ideally fully utilizes its ports by not leaving ports available for a significant period of time, and the inbound/outbound workload changes over time, call collision still remains an issue for ports lying in the middle of the range that are being switched between inbound and outbound communication.